Распространённые типы исключений
Распространённые типы исключений
В Python все встроенные исключения находятся в модуле builtins. Для получения полного списка можно выполнить команду:
import builtins
print(dir(builtins))
Этот список включает не только исключения, но и другие встроенные объекты (например, True, False, None, int, str и т.д.). Чтобы выделить именно типы ошибок (исключения), нужно отфильтровать элементы, имена которых заканчиваются на Error или Warning.
Список встроенных исключений (ошибок) в Python 3.12+:
Основные базовые классы:
BaseException— корневой класс для всех исключений.Exception— базовый класс для большинства пользовательских и встроенных исключений.
Исключения, наследующие Exception:
ArithmeticErrorFloatingPointErrorOverflowErrorZeroDivisionError
AssertionErrorAttributeErrorBufferErrorEOFErrorImportErrorModuleNotFoundError
LookupErrorIndexErrorKeyError
MemoryErrorNameErrorUnboundLocalError
OSErrorBlockingIOErrorChildProcessErrorConnectionErrorBrokenPipeErrorConnectionAbortedErrorConnectionRefusedErrorConnectionResetError
FileExistsErrorFileNotFoundErrorInterruptedErrorIsADirectoryErrorNotADirectoryErrorPermissionErrorProcessLookupErrorTimeoutError
ReferenceErrorRuntimeErrorNotImplementedErrorRecursionError
StopIterationSyntaxErrorIndentationErrorTabError
SystemErrorTypeErrorValueErrorUnicodeErrorUnicodeDecodeErrorUnicodeEncodeErrorUnicodeTranslateError
WindowsError(только на Windows, устаревшее в новых версиях, заменено наOSError)
Предупреждения (Warnings):
WarningUserWarningDeprecationWarningPendingDeprecationWarningSyntaxWarningRuntimeWarningFutureWarningImportWarningUnicodeWarningBytesWarningResourceWarning
Примечания:
- Некоторые исключения, такие как
GeneratorExit,KeyboardInterrupt,SystemExit, наследуются непосредственно отBaseException, а не отException. Их обычно не перехватывают в общих блокахexcept Exception, так как они сигнализируют о завершении программы или прерывании с клавиатуры. - В современных версиях Python (
3.10+) структура исключений стабильна, но могут добавляться новые подклассы (например,ModuleNotFoundErrorбыл добавлен в Python 3.6). - Для получения точного списка в вашей версии Python используйте фильтрацию:
import builtins
errors = [name for name in dir(builtins) if name.endswith('Error') or name.endswith('Warning')]
for err in sorted(errors):
print(err)
Это обеспечит актуальность списка для вашей среды исполнения.
См. также
Другие статьи этого же раздела в боковом меню (как на странице «О разделе»). Python — это высокоуровневый, интерпретируемый, динамически типизированный язык программирования общего назначения. С момента своего появления он стал одним из наиболее влиятельных языков в… Фундамент для начинающего программиста - что повторить, как работать, чего ожидать. Принципы, которые делают код понятным, поддерживаемым и расширяемым. Примеры реализации типовых приложений. Каждый пример сопровождается разбором ключевых концепций языка. Наверняка каждый новичок, решивший перейти в что-то стандартное в Python, открывает себе этот файл. Как устроен Python, что входит в комплект и какие есть реализации. Структурные каркасы для построения приложений, как они устроены. Фреймворки, библиотеки, инструменты сборки, среды выполнения, системы тестирования и специализированные платформы, объединённые общей философией ясности, простоты и гибкости. Что такое модули, как устроены механизмы импорта и загрузки. Управление изолированной средой и зависимостями проекта. Этот логотип просуществовал до 2006 года. К тому времени пользователи массово ассоциировали язык со змеями — символом, который использовался на обложках книг, в статьях и презентациях. Чтобы… Философия Python не зафиксирована в официальных стандартах, но она глубоко интегрирована в язык, его стандартную библиотеку, документацию и культуру разработчиков.Python - язык общего назначения
Что требуется знать перед началом изучения языка программирования Python
Рекомендации по разработке на Python
Простые приложения на Python
Встроенный модуль builtins и типизация в Python
Архитектура интерпретатора Python
Фреймворки и библиотеки Python
Экосистема Python-приложений
Модули в Python
Виртуальные окружения и управление зависимостями
История языка Python
Философия Python - Zen of Python